As computers become more present in normal daily activities, the manner in which users interact with computer becomes more important. For example, while early computers used punch cards for interaction with a limited group of users, desktop personal computers led to more prolonged interaction with more users, and to the development of graphical user interfaces. Such interfaces became part of the computer operating systems themselves, and were further extended by applications that ran on the operating systems.
Computing devices are now frequently portable and carried by a user, such as in the form of smart phones, netbooks, tablets, and similar devices. Because such device may be of a limited size that makes interaction via a keyboard less practical than for a desktop or laptop computer, alternative mechanisms for interaction may be provided, such as in the form of touch screen user interfaces that display graphical content and can also receive user inputs over that content. Other input mechanisms can also be used, such as voice input and gesture-based inputs that can be sensed by accelerometers or compasses in a mobile device.